package com.googlecode.animator.data
{
	public class Notifications
	{
		///////////////////////////////////////////////
		//
		// Notifications relating to whole project
		//
		/////////////////////////////////////////////// 
		
		/**
		 * Application startup notification.
		 * Body: Animator3D application instance. 
		 */		
		public static const APP_START:String = "App.Start";
		
		/**
		 * Scene has been added to the project. 
		 */ 
		public static const SCENE_ADDED:String = "Scene.Added";	
		
		/**
		 * Create new project. 
		 */ 
		public static const NEW_PROJECT:String = "New.Project";
		
		/**
		 * Open project. 
		 */ 
		public static const OPEN_PROJECT:String = "Open.Project";
		
		/**
		 * Save project. 
		 */ 
		public static const SAVE_PROJECT:String = "Save.Project";
		
		/**
		 * Project saved. 
		 */ 
		public static const PROJECT_SAVED:String = "Project.Saved";
		
		/**
		 * Reset project. 
		 */ 
		public static const RESET_PROJECT:String = "Reset.Project";
		
		/**
		 * Project is reset. 
		 */ 
		public static const PROJECT_IS_RESET:String = "Project.Is.Reset";
		
		/**
		 * Package the project. 
		 */
		public static const PACKAGE_PROJECT:String = "Package.Project";
		
		/**
		 * Preview the project. 
		 */
		public static const PREVIEW_PROJECT:String = "Preview.Project";
		
		/**
		 * Set the save path. 
		 */ 
		public static const SET_SAVE_PATH:String = "Set.Save.Path";
		
		/**
		 * Convert all file paths to absolute. 
		 */
		public static const MAKE_FILE_PATHS_ABSOLUTE:String = "Make.File.Paths.Absolute";
		
		
		
		///////////////////////////////////////////////
		//
		// Notifications relating to the setting-up of project
		//
		///////////////////////////////////////////////
		
		
		/**
		 * Set the stage size in the model. 
		 */
		public static const SET_STAGE_SIZE_MODEL:String = "Set.Stage.Size";
		
		/**
		 * Set the visibility of the work area. 
		 */
		public static const SET_WORK_AREA_VISIBLE:String = "Set.Work.Area.Visible";
		
		/**
		 * Stage width updated. 
		 */
		public static const STAGE_WIDTH_UPDATED_MODEL:String = "Stage.Width.Updated";
		
		/**
		 * Stage height updated. 
		 */
		public static const STAGE_HEIGHT_UPDATED_MODEL:String = "Stage.Height.Updated";
			
		/**
		 * Add 3D Scene to the model. 
		 */ 
		public static const ADD_SCENE_MODEL:String = "Add.Scene.Model";
		
		/**
		 * Add a Camera3D to the model. 
		 */ 
		public static const ADD_CAMERA_MODEL:String = "Add.Camera.Model";
		
		/**
		 * Camera3D added to the model. 
		 */	 
		public static const CAMERA_ADDED_MODEL:String = "Camera.Added.Model";
		
		/**
		 * Add default cameras to the model. 
		 */ 
		public static const ADD_DEFAULT_CAMERAS_MODEL:String = "Add.Default.Cameras.Model";
		
		/**
		 * Default cameras added to the model. 
		 */ 
		public static const DEFAULT_CAMERAS_ADDED_MODEL:String = "Default.Cameras.Added.Model";
		
		/**
		 * Add default viewports to the appl. 
		 */ 
		public static const ADD_DEFAULT_VIEWPORTS:String = "Add.Default.Viewports";
		
		/**
		 * Default viewports added to the appl. 
		 */ 
		public static const DEFAULT_VIEWPORTS_ADDED:String = "Default.Viewports.Added";
		
		/**
		 * Add a Viewport3D to the model. 
		 */ 
		public static const ADD_VIEWPORT_MODEL:String = "Add.Viewport.Model";
		
		/**
		 * Viewport3D added to the model. 
		 */
		public static const VIEWPORT_ADDED_MODEL:String = "Viewport.Added.Model";
		
		/**
		 * Viewport updated. 
		 */
		public static const VIEWPORT_UPDATED_MODEL:String = "Viewport.Updated";
		
		/**
		 * Add camera proxies to the model. 
		 */ 
		public static const ADD_CAMERA_PROXIES_MODEL:String = "Add.Camera.Proxies.Model";
		
		/**
		 * Camera proxies added to the model. 
		 */ 
		public static const CAMERA_PROXIES_ADDED_MODEL:String = "Camera.Proxies.Added.Model";
		
		/**
		 * Grid Added. 
		 */
		public static const GRID_ADDED:String = "Grid.Added";
		
		///////////////////////////////////////////////
		//
		// Notifications relating specifically to 3D world 
		// - adding/deleting
		//
		///////////////////////////////////////////////
		
		/**
		 * Add an object3D to the model. 
		 */ 
		public static const ADD_OBJECT3D_MODEL:String = "Add.Object3D.Model";
		
		/**
		 * object3D added to the model. 
		 */	 
		public static const OBJECT3D_ADDED_MODEL:String = "Object3D.Added.Model";
		
		/**
		 * Delete a object3D from the model. 
		 */ 
		public static const DELETE_OBJECT3D_MODEL:String = "Delete.Object3D.Model";
		
		/**
		 * object3D removed from the model. 
		 */	 
		public static const OBJECT3D_DELETED_MODEL:String = "Object3D.Deleted.Model";
		
		///////////////////////////////////////////////
		//
		// Notifications relating specifically to 3D world 
		// - object3D properties
		//
		///////////////////////////////////////////////
		
		/**
		 * DisplayObject3D selected. 
		 */	 
		public static const OBJECT3D_SELECTED_MODEL:String = "Object3D.Selected.Model";
		
		/**
		 * Signals a mouse up event on any DisplayObject3D
		 */
		public static const MOUSE_UP_OBJECT3D:String = "Mouse.Up.Object3D";
		
		/**
		 * Update Object3D property. 
		 */
		public static const UPDATE_PROPERTY_MODEL:String = "Update.Object3D.Property.Model";
		
		/**
		 * Object3D label changed. 
		 */	 
		public static const OBJECT3D_LABEL_CHANGED_MODEL:String = "Object3D.Label.Changed.Model";
		
		/**
		 * Object3D dimension changed. 
		 */	 
		public static const OBJECT3D_DIMENSION_CHANGED_MODEL:String = "Object3D.Dimension.Changed.Model";
		
		/**
		 * Report that rotation of an object3D has changed 
		 */
		public static const OBJECT3D_ROTATION_CHANGED_MODEL:String = "Object3D.Rotation.Changed.Model";		
		
		/**
		 * Object3D position changed in the model. 
		 */	 
		public static const OBJECT3D_POSITION_CHANGED_MODEL:String = "Object3D.Position.Changed.Model";
		
		/**
		 * Object3D moved. 
		 */	 
		public static const OBJECT3D_MOVED:String = "Object3D.Moved";
		
		/**
		 * Planes can be either normal or "billboard". 
		 */
		public static const PLANE_PROJECTION_CHANGED_MODEL:String = "Plane.Projection.Changed.Model";
		
		/**
		 * Sets whether or not a swf or flv will have controls. 
		 */
		public static const SET_MATERIAL_TRANSPORT_CONTROLS_MODEL:String = "Set.Material.Transport.Controls";
		
		///////////////////////////////////////////////
		//
		// Notifications relating specifically to 3D world 
		// - object3D materials
		//
		///////////////////////////////////////////////
			
		/**
		 * Update Object3D material. 
		 */
		public static const UPDATE_OBJECT3D_MATERIAL_MODEL:String = "Update.Object3D.Material.Model";
		
		/**
		 * Object3D material changed. 
		 */
		public static const OBJECT3D_MATERIAL_UPDATED_MODEL:String = "Object3D.Material.Updated.Model";
		
		/**
		 * object3D SWF loaded. 
		 */	 
		public static const OBJECT3D_SWF_LOADED:String = "Object3D.SWF.Loaded";
		
		///////////////////////////////////////////////
		//
		// Notifications relating specifically to 3D world 
		// - cameras
		//
		///////////////////////////////////////////////
		
		/**
		 * Camera3D position changed. 
		 */	 
		public static const CAMERA_POSITION_CHANGED_MODEL:String = "Camera.Position.Changed.Model";
		
		/**
		 * Update the model to reflect change to a camera's settings.
		 */
		public static const UPDATE_CAMERA_SETTINGS_MODEL:String = "Update.Camera.Settings.Model";
		
		///////////////////////////////////////////////
		//
		// Notifications relating specifically to viewports
		// - ViewSelector
		//
		///////////////////////////////////////////////
		
		/**
		 * View Selector changed. 
		 */	 
		public static const VIEW_SELECTOR_CHANGED:String = "View.Selector.Changed";
		
		///////////////////////////////////////////////
		//
		// Notifications relating specifically to viewports 
		// - ZoomControl
		//
		///////////////////////////////////////////////
		
		/**
		 * Zoom control changed. 
		 */	 
		public static const ZOOM_CONTROL_CHANGED:String = "Zoom.Control.Changed";
		
		/**
		 * Zoom control action complete. 
		 */	 
		public static const ZOOM_CONTROL_COMPLETED:String = "Zoom.Control.Completed";
		
		///////////////////////////////////////////////
		//
		// Notifications relating specifically to Timeline 
		//
		///////////////////////////////////////////////
		
		
		
		/**
		 * Current time interval set by timeline.
		 */
		public static const TIMELINE_SET_CURRENT_TIME_INTERVAL:String = "Timeline.set.current.time.interval";
		
		/**
		 * Hide an object3D.
		 */
		public static const TIMELINE_HIDE_OBJECT3D:String = "Timeline.Hide.Object3D";
		
		/**
		 * Show an object3D.
		 */
		public static const TIMELINE_SHOW_OBJECT3D:String = "Timeline.Show.Object3D";
		
		/**
		 * Scrub through objects and set them according to the current time interval.
		 */
		public static const TIMELINE_SCRUB_OBJECTS3D:String = "Timeline.Scrub.Objects3D";
		
		/**
		 * Calculate tweens.
		 */
		public static const TIMELINE_CALCULATE_TWEENS:String = "Timeline.Calculate.Tweens";
		
		/**
		 * Add keyframe.
		 */
		public static const TIMELINE_ADD_KEYFRAME:String = "Timeline.Add.Keyframe";
		
		/**
		 * Remove keyframe.
		 */
		public static const TIMELINE_REMOVE_KEYFRAME:String = "Timeline.Remove.Keyframe";
		
		/**
		 * Keyframe added.
		 */
		public static const TIMELINE_KEYFRAME_ADDED:String = "Timeline.Keyframe.Added";
		
		/**
		 * Keyframe removed.
		 */
		public static const TIMELINE_KEYFRAME_REMOVED:String = "Timeline.Keyframe.Removed";
		
		/**
		 * Keyframe moved.
		 */
		public static const TIMELINE_KEYFRAME_MOVED:String = "Timeline.Keyframe.Moved";
		
		/**
		 * Set keyframe position.
		 */
		public static const TIMELINE_SET_KEYFRAME_POSITION:String = "Timeline.Set.Keyframe.Position";
		
		/**
		 * Keyframe position or time updated.
		 */
		public static const TIMELINE_KEYFRAME_UPDATED:String = "Timeline.Set.Keyframe.Updated";
		
		/**
		 * Add HideMarker.
		 */
		public static const TIMELINE_ADD_HIDE_MARKER:String = "Timeline.Add.HideMarker";
		
		/**
		 * HideMarker added.
		 */
		public static const TIMELINE_HIDE_MARKER_ADDED:String = "Timeline.HideMarker.Added";
		
		/**
		 * HideMarker removed.
		 */
		public static const TIMELINE_REMOVE_HIDE_MARKER:String = "Timeline.Remove.HideMarker";
		
		/**
		 * HideMarker removed.
		 */
		public static const TIMELINE_HIDE_MARKER_REMOVED:String = "Timeline.HideMarker.Removed";
		
		/**
		 * HideMarker moved.
		 */
		public static const TIMELINE_HIDE_MARKER_MOVED:String = "Timeline.HideMarker.Moved";
				
		/**
		 * HideMarker begin and end time updated.
		 */
		public static const TIMELINE_HIDE_MARKER_UPDATED:String = "Timeline.HideMarker.Updated";
		
		/**
		 * Global Marker added.
		 */
		public static const ADD_GLOBAL_MARKER:String = "Timeline.Add.GlobalMarker";
		
		/**
		 * GlobalMarker added.
		 */
		public static const TIMELINE_GLOBAL_MARKER_ADDED:String = "Timeline.GlobalMarker.Added";
		
		/**
		 * Remove global marker.
		 */
		public static const TIMELINE_REMOVE_GLOBAL_MARKER:String = "Timeline.Remove.globalMarker";
		
		/**
		 * HideMarker removed.
		 */
		public static const TIMELINE_GLOBAL_MARKER_REMOVED:String = "Timeline.GlobalMarker.Removed";	
		
		/**
		 * Global marker moved.
		 */
		public static const TIMELINE_GLOBAL_MARKER_MOVED:String = "Timeline.GlobalMarker.Moved";
		
		/**
		 * Global marker time updated.
		 */
		public static const TIMELINE_GLOBAL_MARKER_UPDATED:String = "Timeline.GlobalMarker.Updated";
		
		/**
		 * Extend timeline.
		 */
		public static const TIMELINE_EXTEND:String = "Timeline.Extend";
		
		/**
		 * Set auto keyframing to true or false. 
		 */
		public static const TIMELINE_AUTO_KEYFRAMING:String = "Auto.Keyframing";

	}
}